﻿using DataServer.CommonLib.Models.Dimension;
using Swimj.CommonLib.Base;

namespace DataServer.ApplicationLib.Services
{
    public interface IDimensionService
    {
        Task<PaginatedResult<DimensionInfoResponseDto>> QueryDimensionsByPageAsync(DimensionSearchRequestDto? model);

        Task<Result<IList<DimensionInfoResponseDto>>> QueryDimensionsAsync(DimensionSearchRequestDto? model);
    
        Task<Result<DimensionInfoResponseDto>> CreateDimensionAsync(DimensionEditRequestDto model);
    
        Task<Result<DimensionInfoResponseDto>> GetDimensionAsync(Guid id);
    
        Task<Result<DimensionInfoResponseDto>> UpdateDimensionAsync(Guid id, DimensionEditRequestDto model);
    
        Task<object?> TestDimensionAsync(string dimensionCode, int limit);
    }
}